8.2 记录日志

即便没有表现出来,你的程序依旧可能有bug。这在软件开发里是很自然的事情。日志是一种找到这些bug,更好地了解程序工作状态的方法。日志是开发人员的眼睛和耳朵,可以用来跟踪、调试和分析代码。基于此,标准库提供了 log 包,可以对日志做一些最基本的配置。根据特殊需要,开发人员还可以自己定制日志记录器。

在UNIX里,日志有很长的历史。这些积累下来的经验都体现在 log 包的设计里。传统的CLI(命令行界面)程序直接将输出写到名为 stdout 的设备上。所有的操作系统上都有这种设备,这种设备的默认目的地是标准文本输出。默认设置下,终端会显示这些写到 stdout 设备上的文本。这种单个目的地的输出用起来很方便,不过你总会碰到需要同时输出程序信息和输出执行细节的情况。这些执行细节被称作日志。当想要记录日志时,你希望能写到不同的目的地,这样就不会将程序的输出和日志混在一起了。

为了解决这个问题,UNIX架构上增加了一个叫作 stderr 的设备。这个设备被创建为日志的默认目的地。这样开发人员就能将程序的输出和日志分离开来。如果想在程序运行时同时看到程序输出和日志,可以将终端配置为同时显示写到 stdoutstderr 的信息。不过,如果用户的程序只记录日志,没有程序输出,更常用的方式是将一般的日志信息写到 stdout ,将错误或者警告信息写到 stderr

results matching ""

    No results matching ""